import java.util.HashMap;
import java.util.Map;

public class Solution {
    public boolean wordPattern(String pattern, String s) {

//可以将题意转换为单射且非满射

        String[] arr=s.split(" ");
        //只要长度不等，就是false
        if(pattern.length()!=arr.length){
            return false;
        }
        Map<Character,String> map1=new HashMap<>();
        Map<String,Character> map2=new HashMap<>();
//判断是否是单射
        for(int i=0;i<pattern.length();i++){
            char x= pattern.charAt(i);
            String y=arr[i];
            if(map1.containsKey(x)&&!map1.get(x).equals(y)||map2.containsKey(y)&&map2.get(y)!=x){
                //String的比较必须使用equals()
                return false;
            }
            map1.put(x,y);
            map2.put(y,x);
        }
        return true;
    }
}